import { Tab, Tabs } from '@rspress/core/theme';

# 快速上手

安装 `dora-cli`

在命令行中运行以下命令 (不要带上 `$` 符号)：

<Tabs>
  <Tab label="pip">
    ```py
    $ pip install dora-rs-cli
    ```
  </Tab>
  <Tab label="Linux / macOS">
    ```bash
    $ curl --proto '=https' --tlsv1.2 -LsSf https://github.com/dora-rs/dora/releases/latest/download/dora-cli-installer.sh | sh
    ```
  </Tab>
  <Tab label="Windows">
    ```bash
    PS C:\> powershell -ExecutionPolicy ByPass -c "irm https://github.com/dora-rs/dorareleases/latest/download/dora-cli-installer.ps1 | iex"
    ```
  </Tab>
  <Tab label="Cargo">
    ```bash
    $ cargo install dora-cli # In case of issues, try: `--locked`
    ```
  </Tab>
  <Tab label="Docker">
    * pull
    ```bash
    $ docker pull ghcr.io/dora-rs/dora-slim
    ```
    * run
    ```bash
    $ docker run ghcr.io/dora-rs/dora-slim dora --help
    ```
  </Tab>
  <Tab label="Source">
    1. 安装`Rust`，详细参考：[https://echoli.cn/getting-started/install.html](https://echoli.cn/getting-started/install.html)
    2. 克隆源码和编译
    ```bash
    $ git clone https://github.com/dora-rs/dora
    $ cd dora
    $ cargo build --release -p dora-cli
    # 在 `target\release` 目录下找到 `dora` 可执行文件，放在系统环境目录中
    ```
  </Tab>
  <Tab label="Download">
    [下载地址](https://github.com/dora-rs/dora/releases/latest) 直接下载当前系统的版本即可
  </Tab>
</Tabs>

## 运行`dora`

```bash
$ dora -h
dora-rs cli client

Usage: dora <COMMAND>

Commands:
  check        Check if the coordinator and the daemon is running
  graph        Generate a visualization of the given graph using mermaid.js.
               Use --open to open browser
  build        Run build commands provided in the given dataflow
  new          Generate a new project or node. Choose the language between
               Rust, Python, C or C++
  run          Run a dataflow locally
  up           Spawn coordinator and daemon in local mode (with default
               config)
  destroy      Destroy running coordinator and daemon. If some dataflows are
               still running, they will be stopped first
  start        Start the given dataflow path. Attach a name to the running
               dataflow by using --name
  stop         Stop the given dataflow UUID. If no id is provided, you will be
               able to choose between the running dataflows
  list         List running dataflows
  logs         Show logs of a given dataflow and node
  daemon       Run daemon
  runtime      Run runtime
  coordinator  Run coordinator
  help         Print this message or the help of the given subcommand(s)

Options:
  -h, --help     Print help
  -V, --version  Print version
```
